// 职责： 封装axios的get和post，返回之
// 1.0 导入axios
import axios from 'axios'
import { Toast } from 'antd-mobile'

// 2.0 给axios设置默认值
// 2.0.1 设置baseUrl
axios.defaults.baseURL = 'https://api-haoke-web.itheima.net'
// 2.0.2 设置请求超时
axios.timeout = 10000;

// 3.0 如果api服务器出错，则应该提示用户网络出错，联系管理员
axios.interceptors.response.use(response => {

    // 后台接口的状态如果返回的就是200，则这个数据是正常的，否则不正常，从友好性方面应该增加一个提示给用户
    if (response.data.status !== 200) {
        Toast.fail('接口数据响应异常');
    }
    // 正常处理
    return response;
}, error => {
    // 异常处理
    // 提示用户出错啦
    let errMsg = error.message || 'api服务器异常，请联系后台开发';
    Toast.fail(errMsg);
    return Promise.reject(errMsg)
})

// 导出一个对象，有两个方法：get，post
export default {
    // 负责做get请求
    get(url, params) {
        // 返回一个Promise对象
        return axios({
            method: 'get',
            url: url,
            params: params
        })
    },
    // 负责做post请求
    post(url, data) {
        // 返回一个Promise对象
        return axios({
            method: 'post',
            url: url,
            data: data
        })
    }
}